/*
 * main.cpp
 *
 *  Created on: 02/07/2011
 *      Author: pablo
 */

#include "Servidor.h"
#include "ConfiguracionAplicacion.h"
#include "Logger.h"
#define DEBUG_FILENAME "debug"


void showHelp();

int main(int argc, char **argv){
	Logger* logger = new Logger((char *) DEBUG_FILENAME);
	Servidor* servidor = new Servidor((char*)ARCHIVO_COLA,LETRA);

	int opcion;

	while ((opcion = getopt (argc, argv, "hd")) != -1){
		switch (opcion){
			case 'd':
				logger->setDebugMode(true);
				break;
			case 'h':
				showHelp();
				exit(0);
				break;
			case '?':
				showHelp();
				exit(0);
				break;
			default:
				cout << "ConcuChat: Opción inválida -" << opcion <<  endl;
				cout << "Use concuchat -h para más información." <<  endl;
				exit(0);
		}
	}


	while(true){
		logger->log("Servidor: recibiendo peticion.");
		servidor->recibirPeticion();
		logger->log("Servidor: procesando peticion.");
		servidor->procesarPeticion();
		logger->log("Servidor: respondiendo peticion.");
		servidor->responderPeticion();
	}

	return 0;
}



void showHelp(){
		cout << "..:::ConcuChat:::.." << endl;
		cout << "Aplicación concurrente para conversar. ¡¡Ahora con mensajes!!" << endl;
		cout << "Desarrollado por: " << endl;
		cout <<	"Acosta Claudia Roxana" << endl;
		cout << "Korzeniewski Claudia" << endl;
		cout << "Cufone Pablo Alfonso" << endl;
		cout << endl;
		cout << "Modo de uso: ./concuChat [OPCION]" << endl;
		cout << "-d \t Activa el modo debug." << endl;
		cout << "-h \t Muestra esta ayuda." << endl;
	}

